/* 紧凑模式样式 */
.compact-mode {
  --el-component-size: 28px;
  --el-component-size-small: 20px;
  --el-component-size-large: 36px;
}

.compact-mode .el-table {
  font-size: 13px;
}

.compact-mode .el-table td,
.compact-mode .el-table th {
  padding: 6px 0;
}

.compact-mode .el-form-item {
  margin-bottom: 14px;
}

/* 禁用动画模式 */
.no-animation,
.no-animation * {
  transition: none !important;
  animation: none !important;
}

/* 横向菜单选中项样式 - 最高优先级 */
.el-menu--horizontal > .el-menu-item.is-active {
  background-color: transparent !important;
  color: var(--el-menu-active-text-color) !important;
  border-bottom: 2px solid var(--el-menu-active-text-color) !important;
}

.el-menu--horizontal > .el-menu-item.is-active .el-icon {
  color: var(--el-menu-active-text-color) !important;
}

.el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title {
  background-color: transparent !important;
  color: var(--el-menu-active-text-color) !important;
  border-bottom: 2px solid var(--el-menu-active-text-color) !important;
}

.el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title .el-icon {
    color: var(--el-menu-active-text-color) !important;
  }
/* 📌 子菜单项样式 - Ant Design 标准 */
.el-sub-menu .el-menu-item {
  color: var(--el-menu-text-color) !important;
  padding-left: 48px !important; /* Ant Design Pro：子菜单项左边距 48px（比父菜单多 32px） */
  /* background-color 在 SubMenu 组件中定义，不在此覆盖 */
}

.el-sub-menu .el-menu-item:hover {
  color: var(--el-menu-text-color) !important; /* Ant Design：悬停保持黑色文字 */
  /* background-color 在 SubMenu 组件中定义 */
}

.el-sub-menu .el-menu-item.is-active {
  color: var(--el-menu-active-text-color) !important; /* 激活时蓝色文字 */
  /* background-color 在 SubMenu 组件中定义 */
  border-bottom: none !important;
  font-weight: 500 !important;
}

.el-sub-menu .el-menu-item .el-icon {
  color: inherit !important;
  margin-right: 8px !important;
}

/* Element Plus 下拉菜单 teleport 内容样式修复 */
.el-popper.is-pure {
  background-color: var(--el-bg-color-overlay) !important;
  border: 1px solid var(--el-border-color-light) !important;
  box-shadow: var(--el-box-shadow-light) !important;
}

.el-popper.is-pure .el-menu-item {
  color: var(--el-menu-text-color) !important;
  background-color: transparent !important;
  padding: 8px 16px !important;
  height: auto !important;
  line-height: 1.5 !important;
}

.el-popper.is-pure .el-menu-item:hover {
  color: var(--el-color-primary) !important;
  background-color: var(--el-menu-hover-bg-color) !important;
}

.el-popper.is-pure .el-menu-item.is-active {
  color: var(--el-menu-active-text-color) !important;
  background-color: transparent !important;
  border-bottom: none !important;
}

.el-popper.is-pure .el-menu-item .el-icon {
  color: inherit !important;
  margin-right: 8px !important;
}

/* 通用下拉菜单样式修复 */
.el-dropdown-menu,
.el-menu--popup {
  background-color: var(--el-bg-color-overlay) !important;
  border: 1px solid var(--el-border-color-light) !important;
  box-shadow: var(--el-box-shadow-light) !important;
}

.el-dropdown-menu .el-menu-item,
.el-menu--popup .el-menu-item {
  color: var(--el-menu-text-color) !important;
  background-color: transparent !important;
  padding: 8px 16px !important;
  height: auto !important;
  line-height: 1.5 !important;
}

.el-dropdown-menu .el-menu-item:hover,
.el-menu--popup .el-menu-item:hover {
  color: var(--el-color-primary) !important;
  background-color: var(--el-menu-hover-bg-color) !important;
}

.el-dropdown-menu .el-menu-item.is-active,
.el-menu--popup .el-menu-item.is-active {
  color: var(--el-menu-active-text-color) !important;
  background-color: transparent !important;
  border-bottom: none !important;
}

.el-dropdown-menu .el-menu-item .el-icon,
.el-menu--popup .el-menu-item .el-icon {
  color: inherit !important;
  margin-right: 8px !important;
}

.el-dropdown-menu .el-menu-item .sle,
.el-menu--popup .el-menu-item .sle {
  color: inherit !important;
  display: inline-block !important;
}

/* 图标布局修复 */
.el-menu-item .el-icon,
.el-sub-menu__title .el-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: var(--el-menu-icon-color) !important;
}

.el-menu-item,
.el-sub-menu__title {
  display: flex !important;
  align-items: center !important;
}

.el-menu-item .sle,
.el-sub-menu__title .sle {
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  width: 100%;
  height: 100%;
  /* Ant Design Pro 标准字体栈（中文优先） */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 14px;      /* Ant Design 标准正文大小 */
  font-weight: 400;     /* Ant Design 标准字重 */
  line-height: 1.5715;  /* Ant Design 标准行高 */
  color: rgba(0, 0, 0, 0.85); /* Ant Design 标准文字色 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 主应用样式 */
#main-app {
  height: 100vh;
  width: 100vw;
  margin: 0;
  padding: 0;
  /* 使用中文字体栈（参考 Ant Design、TDesign、Element Plus 标准） */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  transition: all 0.3s ease;
  background-color: var(--el-bg-color-page);
  color: var(--el-text-color-primary);
  overflow: hidden;
}

/* 布局样式 */
.layout {
  height: 100vh;
}

.layout-vertical {
  /* 纵向布局样式 - 默认样式，无需特殊处理 */
}

.layout-classic {
  /* 经典布局样式 */
}

.layout-classic .header-lf {
  display: flex;
  align-items: center;
}

.layout-classic .header-ri {
  display: flex;
  align-items: center;
}

.layout-classic .classic-content {
  height: calc(100vh - 60px);
}

.layout-classic .classic-main {
  height: 100%;
}

.layout-transverse {
  /* 横向布局样式 */
}

.layout-transverse .el-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.layout-transverse .el-header .logo {
  margin-right: 20px;
}

.layout-transverse .el-menu--horizontal {
  flex: 1;
  border-bottom: none;
}

.layout-columns {
  /* 分栏布局样式 */
}

.layout-columns .aside-split {
  width: 70px;
  background-color: var(--el-bg-color);
  border-right: 1px solid var(--el-border-color);
}

.layout-columns .split-list {
  padding: 10px 0;
}

.layout-columns .split-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 5px;
  cursor: pointer;
  transition: all 0.3s;
}

.layout-columns .split-item:hover {
  background-color: var(--el-color-primary-light-9);
}

.layout-columns .split-item.split-active {
  background-color: var(--el-color-primary);
  color: white;
}

.layout-columns .split-item .title {
  font-size: 12px;
  margin-top: 5px;
  text-align: center;
}

/* 侧边栏样式 */
.aside-box {
  height: 100%;
  background-color: var(--el-menu-bg-color);
  border-right: 1px solid var(--el-border-color-light);
}

.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 0 var(--el-spacing-lg);
  cursor: pointer;
  border-bottom: 1px solid var(--el-border-color-light);
  background-color: var(--el-bg-color);
  transition: all 0.2s ease;
  /* box-shadow: var(--el-box-shadow-light); */
}

.logo:hover {
  background-color: var(--el-color-primary-light-5);
}

.logo-img {
  width: 32px;
  height: 32px;
  border-radius: var(--el-border-radius-base);
  object-fit: contain;
  margin-right: var(--el-spacing-sm);
  box-shadow: var(--el-box-shadow-light);
}

.logo-text {
  font-size: var(--el-font-size-lg);
  font-weight: 700;
  color: var(--el-text-color-primary);
  white-space: nowrap;
  letter-spacing: -0.025em;
}

.flx-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 工具栏样式 */
.tool-bar-lf {
  display: flex;
  align-items: center;
  flex: 1;
  gap: var(--el-spacing-md);
}

/* 头部工具栏样式 */
.tool-bar-ri {
  display: flex;
  align-items: center;
  gap: var(--el-spacing-sm);
  padding: 0 var(--el-spacing-md);
  margin-left: auto;
  flex-shrink: 0;
  
  .header-icon {
    display: flex;
    align-items: center;
    gap: var(--el-spacing-sm);
    
    * {
      color: var(--el-text-color-regular);
      transition: color 0.3s ease;
      
      &:hover {
        color: var(--el-color-primary);
      }
    }
  }
  
  .username {
    font-size: 15px;
    color: var(--el-text-color-primary);
    font-weight: 500;
    white-space: nowrap;
  }
}

/* 图标样式 */
.iconfont {
  font-family: "iconfont" !important;
  font-size: var(--el-font-size-base);
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: inherit;
  transition: all 0.2s ease;
}

/* Element Plus 图标样式 */
.el-icon {
  color: inherit;
  font-size: 16px !important;
  transition: all 0.2s ease;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.toolBar-icon {
  font-size: var(--el-font-size-lg) !important;
  cursor: pointer;
  color: var(--el-text-color-regular) !important;
  transition: all 0.2s ease;
  padding: var(--el-spacing-xs);
  border-radius: var(--el-border-radius-base);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
}

.toolBar-icon:hover {
  color: var(--el-color-primary) !important;
  background-color: transparent;
  transform: translateY(-1px);
}

.toolBar-icon:active {
  transform: translateY(0);
  background-color: transparent;
}

.toolBar-icon:focus {
  outline: 2px solid var(--el-color-primary-light-3);
  outline-offset: 2px;
}

.username {
  color: var(--el-text-color-regular);
  font-size: var(--el-font-size-sm);
  font-weight: 500;
  padding: var(--el-spacing-xs) var(--el-spacing-sm);
  border-radius: var(--el-border-radius-base);
  transition: all 0.2s ease;
}

.username:hover {
  color: var(--el-color-primary);
  background-color: transparent;
}

/* 分栏布局特殊样式 */
.aside-split {
  width: 70px;
  background-color: var(--el-bg-color);
  border-right: 1px solid var(--el-border-color);
}

.split-list {
  padding: 10px 0;
}

.split-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 50px;
  cursor: pointer;
  color: var(--el-text-color-regular);
  transition: all 0.3s;
}

.split-item:hover {
  background-color: var(--el-color-primary-light-9);
  color: var(--el-color-primary);
}

.split-active {
  background-color: var(--el-color-primary-light-8);
  color: var(--el-color-primary);
}

.split-item .title {
  font-size: 12px;
  margin-top: 2px;
}

.not-aside {
  width: 0 !important;
  border: none;
}

/* 主题样式 - 使用CSS变量 - 参考 Element Plus 和 Ant Design 中台设计 */
:root {
  /* 基础颜色 - Ant Design Pro 标准 */
  --el-bg-color: #ffffff;
  --el-text-color-primary: rgba(0, 0, 0, 0.85); /* Ant Design Pro 主要文字色 */
  --el-text-color-regular: rgba(0, 0, 0, 0.65); /* Ant Design Pro 常规文字色 */
  --el-text-color-secondary: rgba(0, 0, 0, 0.45); /* Ant Design Pro 次要文字色 */
  --el-text-color-placeholder: rgba(0, 0, 0, 0.25); /* Ant Design Pro 占位文字色 */
  --el-bg-color-page: #f0f2f5; /* Ant Design Pro 标准页面背景色 */
  --el-bg-color-overlay: #ffffff;
  --el-border-color: #d9d9d9;
  --el-border-color-light: #f0f0f0;
  --el-border-color-lighter: #fafafa;
  
  /* 主色调 - TDesign 蓝色系（默认值，会在运行时通过 JS 动态更新） */
  --el-color-primary: #1890ff; /* Ant Design Pro 拂晓蓝 */
  --el-color-primary-light-1: #266fe8;
  --el-color-primary-light-2: #4d8cf7;
  --el-color-primary-light-3: #73a9ff;
  --el-color-primary-light-4: #99c6ff;
  --el-color-primary-light-5: #bfe3ff;
  --el-color-primary-light-6: #e6f0ff;
  --el-color-primary-light-7: #f0f7ff;
  --el-color-primary-light-8: #f7fbff;
  --el-color-primary-light-9: #fcfdff;
  
  /* 功能色 - TDesign 标准色 */
  --el-color-success: #00a870;
  --el-color-warning: #ed7b2f;
  --el-color-danger: #d54941;
  --el-color-info: #0052d9;
  
  /* 阴影 - 中台风格 */
  --el-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --el-box-shadow-light: 0 1px 3px rgba(0, 0, 0, 0.12);
  --el-box-shadow-base: 0 4px 12px rgba(0, 0, 0, 0.15);
  --el-box-shadow-dark: 0 8px 24px rgba(0, 0, 0, 0.15);
  
  /* 圆角 - 中台标准 */
  --el-border-radius-base: 6px;
  --el-border-radius-small: 4px;
  --el-border-radius-large: 8px;
  
  /* 间距 - 8px 基准 */
  --el-spacing-xs: 4px;
  --el-spacing-sm: 8px;
  --el-spacing-md: 16px;
  --el-spacing-lg: 24px;
  --el-spacing-xl: 32px;
  
  /* 字体族 - 参考 Ant Design、TDesign、Element Plus 标准 */
  --el-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --el-font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --el-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --el-font-family-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
  
  /* 字体大小 - 参考 Ant Design、TDesign、Element Plus 标准 */
  --el-font-size-xs: 12px;
  --el-font-size-sm: 14px;
  --el-font-size-base: 14px;
  --el-font-size-md: 16px;
  --el-font-size-lg: 16px;
  --el-font-size-xl: 18px;
  --el-font-size-2xl: 20px;
  --el-font-size-3xl: 24px;
  --el-font-size-4xl: 30px;
  --el-font-size-5xl: 36px;
  --el-font-size-6xl: 48px;
  
  /* 行高 - 参考 Ant Design 标准 */
  --el-line-height-tight: 1.4;
  --el-line-height-normal: 1.5715;
  --el-line-height-relaxed: 1.75;
  --el-line-height-loose: 2;
  --el-line-height-xs: 20px;
  --el-line-height-sm: 22px;
  --el-line-height-base: 22px;
  --el-line-height-md: 24px;
  --el-line-height-lg: 24px;
  --el-line-height-xl: 28px;
  
  /* 字重 - 参考 Material Design 标准 */
  --el-font-weight-thin: 100;
  --el-font-weight-extralight: 200;
  --el-font-weight-light: 300;
  --el-font-weight-normal: 400;
  --el-font-weight-medium: 500;
  --el-font-weight-semibold: 600;
  --el-font-weight-bold: 700;
  --el-font-weight-extrabold: 800;
  --el-font-weight-black: 900;
  
  /* 字符间距 - 参考 Material Design 标准 */
  --el-letter-spacing-tighter: -0.05em;
  --el-letter-spacing-tight: -0.025em;
  --el-letter-spacing-normal: 0;
  --el-letter-spacing-wide: 0.025em;
  --el-letter-spacing-wider: 0.05em;
  --el-letter-spacing-widest: 0.1em;
  
  /* 菜单专用颜色 - 默认值（会在运行时通过 asideTheme 动态更新） */
  --el-menu-bg-color: #ffffff;
  --el-menu-text-color: #303133;
  --el-menu-hover-bg-color: #f5f7fa;
  --el-menu-hover-text-color: var(--el-color-primary);
  --el-menu-active-bg-color: var(--el-color-primary-light-9);
  --el-menu-active-text-color: var(--el-color-primary);
  --el-menu-border-color: #e4e7ed;
  
  /* 菜单图标颜色 - 使用主题色变量 */
  --el-menu-icon-color: #909399;
  --el-menu-icon-hover-color: var(--el-color-primary);
  --el-menu-icon-active-color: var(--el-color-primary);
}

/* 暗黑主题 */
[data-theme="dark"] {
  /* 基础颜色 */
  --el-bg-color: #1a1a1a;
  --el-text-color-primary: #ffffff;
  --el-text-color-regular: #e5e7eb;
  --el-text-color-secondary: #d1d5db;
  --el-text-color-placeholder: #9ca3af;
  --el-bg-color-page: #141414;
  --el-bg-color-overlay: #262626;
  --el-border-color: #434343;
  --el-border-color-light: #595959;
  --el-border-color-lighter: #8c8c8c;
  
  /* 主色调 - TDesign 暗色主题 */
  --el-color-primary: #4080ff;
  --el-color-primary-light-1: #5a8fff;
  --el-color-primary-light-2: #739eff;
  --el-color-primary-light-3: #8cadff;
  --el-color-primary-light-4: #a5bcff;
  --el-color-primary-light-5: #becbff;
  --el-color-primary-light-6: #d7daff;
  --el-color-primary-light-7: #e6f0ff;
  --el-color-primary-light-8: #f0f7ff;
  --el-color-primary-light-9: #f7fbff;
  
  /* 功能色 - TDesign 暗色主题 */
  --el-color-success: #00a870;
  --el-color-warning: #ed7b2f;
  --el-color-danger: #d54941;
  --el-color-info: #4080ff;
  
  /* 阴影 */
  --el-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
  --el-box-shadow-light: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
  --el-box-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --el-box-shadow-dark: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] body {
  background-color: #141414 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .layout {
  background-color: #141414 !important;
}

/* Element Plus 组件样式覆盖 */
.el-container {
  height: 100vh;
}

.el-header {
  background-color: var(--el-bg-color);
  border-bottom: 1px solid var(--el-border-color-light);
  box-shadow: var(--el-box-shadow-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 var(--el-spacing-lg);
}

.el-aside {
  background-color: var(--el-menu-bg-color);
  border-right: 1px solid var(--el-border-color-light);
}

.el-main {
  background-color: var(--el-bg-color-page);
  padding: 16px !important; /* Ant Design Pro 标准内容区内边距 */
  overflow-y: auto; /* 允许垂直滚动 */
  overflow-x: hidden;
}

/* 优化滚动条样式 - Ant Design Pro 风格 */
.el-main::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.el-main::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 4px;
}

.el-main::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}

.el-main::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
}

.el-menu {
  border-right: none;
  background-color: transparent;
}

.el-menu--horizontal {
  border-bottom: none;
}

.el-menu-item {
  color: var(--el-menu-text-color);
}

.el-menu-item:hover {
  background-color: var(--el-menu-hover-bg-color);
  color: var(--el-menu-hover-text-color);
}

.el-menu-item.is-active {
  background-color: transparent !important;
  color: var(--el-menu-active-text-color) !important;
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}

.el-menu-item.is-active::before,
.el-menu-item.is-active::after {
  display: none !important;
}

/* 📌 子菜单标题 - Ant Design 标准：父菜单始终保持黑色 */
.el-sub-menu__title {
  color: var(--el-menu-text-color) !important; /* 父菜单始终黑色 */
}

.el-sub-menu__title:hover {
  background-color: var(--el-menu-hover-bg-color) !important;
  color: var(--el-menu-text-color) !important; /* Ant Design：悬停时也保持黑色文字 */
}

/* 🔧 父菜单激活时不变色（Ant Design 标准：父菜单不显示激活样式） */
.el-sub-menu.is-active > .el-sub-menu__title,
.el-sub-menu.is-opened > .el-sub-menu__title {
  background-color: transparent !important;
  color: var(--el-menu-text-color) !important; /* 强制黑色文字 */
  border: none !important;
}

.el-sub-menu.is-active > .el-sub-menu__title::before,
.el-sub-menu.is-active > .el-sub-menu__title::after {
  display: none !important;
}

.subapp-container {
  height: 100%;
  position: relative;
}

.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* 暗色主题样式覆盖 */
[data-theme="dark"] .el-header {
  background-color: var(--el-bg-color);
  border-bottom-color: var(--el-border-color);
}

[data-theme="dark"] .el-aside {
  background-color: var(--el-menu-bg-color);
  border-right-color: var(--el-border-color);
}

[data-theme="dark"] .el-main {
  background-color: var(--el-bg-color-page);
}

[data-theme="dark"] .el-menu {
  background-color: transparent;
}

[data-theme="dark"] .el-menu-item {
  color: var(--el-menu-text-color);
}

[data-theme="dark"] .el-menu-item:hover {
  background-color: var(--el-menu-hover-bg-color);
  color: var(--el-menu-hover-text-color);
}

[data-theme="dark"] .el-menu-item.is-active {
  background-color: transparent !important;
  color: var(--el-menu-active-text-color) !important;
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}

.el-menu-item.is-active::before,
.el-menu-item.is-active::after {
  display: none !important;
}

/* 📌 暗黑模式：父菜单标题 - Ant Design 标准 */
[data-theme="dark"] .el-sub-menu__title {
  color: var(--el-menu-text-color) !important; /* 父菜单始终使用常规文字色 */
}

[data-theme="dark"] .el-sub-menu__title:hover {
  background-color: var(--el-menu-hover-bg-color) !important;
  color: var(--el-menu-text-color) !important; /* 悬停时保持常规文字色 */
}

[data-theme="dark"] .el-sub-menu.is-active > .el-sub-menu__title,
[data-theme="dark"] .el-sub-menu.is-opened > .el-sub-menu__title {
  color: var(--el-menu-text-color) !important; /* 激活/展开时也保持常规文字色 */
  background-color: transparent !important;
}

/* 横向菜单 hover 文本颜色 - 使用主题色 */
.layout-transverse .el-menu--horizontal > .el-menu-item:hover,
.layout-transverse .el-menu--horizontal > .el-sub-menu > .el-sub-menu__title:hover {
  color: var(--el-color-primary) !important;
  background-color: transparent !important;
}

/* 横向菜单 hover 图标颜色同步 - 使用主题色 */
.layout-transverse .el-menu--horizontal > .el-menu-item:hover .el-icon,
.layout-transverse .el-menu--horizontal > .el-sub-menu > .el-sub-menu__title:hover .el-icon {
  color: var(--el-color-primary) !important;
}

/* 横向菜单 active 时内部文字与图标同步颜色 - 使用主题色 */
.layout-transverse .el-menu--horizontal > .el-menu-item.is-active span,
.layout-transverse .el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title span,
.layout-transverse .el-menu--horizontal > .el-menu-item.is-active .el-icon,
.layout-transverse .el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title .el-icon {
  color: var(--el-color-primary) !important;
}

/* ==================== 横向布局下拉菜单样式（全局） ==================== */
/* 下拉菜单 Popper 样式 - Ant Design Pro 标准 */
.el-menu--popup {
  background-color: #ffffff !important;
  border: 1px solid #f0f0f0 !important;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05) !important;
  /* 重置菜单文字颜色变量，确保下拉菜单始终使用深色文字 */
  --el-menu-text-color: rgba(0, 0, 0, 0.85) !important;
  --el-menu-icon-color: rgba(0, 0, 0, 0.65) !important;
  --el-menu-hover-text-color: var(--el-color-primary) !important;
  --el-menu-icon-hover-color: var(--el-color-primary) !important;
}

/* 下拉菜单项样式 */
.el-menu--popup .el-menu-item {
  color: rgba(0, 0, 0, 0.85) !important; /* Ant Design Pro 主要文字色 */
  min-width: 160px;
  padding: 5px 16px !important;
  line-height: 32px !important;
  height: 32px !important;
}

.el-menu--popup .el-menu-item .el-icon {
  color: rgba(0, 0, 0, 0.65) !important; /* Ant Design Pro 常规文字色 */
  margin-right: 10px;
}

.el-menu--popup .el-menu-item:hover {
  background-color: #f5f5f5 !important; /* Ant Design Pro 标准悬停背景色 */
  color: var(--el-color-primary) !important;
}

.el-menu--popup .el-menu-item:hover .el-icon {
  color: var(--el-color-primary) !important;
}

/* 激活项悬停时保持激活样式 */
.el-menu--popup .el-menu-item.is-active:hover {
  background-color: #bae7ff !important; /* 激活项悬停时背景稍深 */
}

.el-menu--popup .el-menu-item.is-active,
.el-popper.is-light .el-menu--popup .el-menu-item.is-active {
  /* Ant Design Pro 标准：淡蓝色背景 + 蓝色文字 + 左边框强调 */
  background-color: #e6f7ff !important; /* Ant Design Pro 标准激活背景色 */
  color: #1890ff !important; /* 直接使用蓝色，确保不被CSS变量覆盖 */
  border-left: 3px solid #1890ff !important; /* 左边框强调 */
  padding-left: 13px !important; /* 减少padding以补偿边框宽度 */
  font-weight: 500 !important; /* 激活项字重加粗 */
}

.el-menu--popup .el-menu-item.is-active .el-icon,
.el-popper.is-light .el-menu--popup .el-menu-item.is-active .el-icon {
  color: #1890ff !important; /* 直接使用蓝色 */
}

/* 下拉菜单子菜单标题样式 */
.el-menu--popup .el-sub-menu__title {
  color: rgba(0, 0, 0, 0.85) !important;
  padding: 5px 16px !important;
  line-height: 32px !important;
  height: 32px !important;
}

.el-menu--popup .el-sub-menu__title .el-icon {
  color: rgba(0, 0, 0, 0.65) !important;
  margin-right: 10px;
}

.el-menu--popup .el-sub-menu__title:hover {
  background-color: #f5f5f5 !important;
  color: var(--el-color-primary) !important;
}

.el-menu--popup .el-sub-menu__title:hover .el-icon {
  color: var(--el-color-primary) !important;
}

/* ==================== Ant Design Pro 全局表格样式 ==================== */
/* 基础表格样式优化 */
.el-table {
  font-size: 14px; /* Ant Design Pro 标准字号 */
  color: rgba(0, 0, 0, 0.85);
  background-color: #ffffff;
  border-radius: 2px; /* Ant Design Pro 小圆角 */
  overflow: hidden;
}

/* 表头样式 - Ant Design Pro 标准 */
.el-table__header-wrapper .el-table__header thead th {
  background-color: #fafafa !important; /* Ant Design Pro 表头背景色 */
  color: rgba(0, 0, 0, 0.85) !important;
  font-weight: 500 !important; /* Ant Design Pro 表头字重 */
  font-size: 14px !important;
  height: 54px !important; /* Ant Design Pro 标准表头高度 */
  padding: 12px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  transition: background-color 0.3s ease;
}

/* 表格行样式 - Ant Design Pro 标准 */
.el-table__body-wrapper .el-table__body tbody tr {
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); /* Ant Design 标准缓动 */
}

.el-table__body-wrapper .el-table__body tbody tr td {
  height: 54px !important; /* Ant Design Pro 标准行高 */
  padding: 12px 16px !important; /* Ant Design Pro 单元格内边距 */
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}

/* 表格悬停效果 - Ant Design Pro 标准 */
.el-table__body-wrapper .el-table__body tbody tr:hover > td {
  background-color: #fafafa !important; /* Ant Design Pro 悬停背景色 */
  cursor: pointer;
}

/* 表格选中行样式 */
.el-table__body-wrapper .el-table__body tbody tr.current-row > td {
  background-color: #e6f7ff !important; /* Ant Design Pro 选中背景色 */
}

/* 表格边框优化 */
.el-table--border {
  border: 1px solid #f0f0f0 !important;
}

.el-table--border::after,
.el-table::before {
  background-color: #f0f0f0 !important;
}

.el-table--border th,
.el-table--border td {
  border-right: 1px solid #f0f0f0 !important;
}

/* 表格操作列按钮样式 - Ant Design Pro 标准 */
.el-table .el-button--text {
  padding: 0;
  margin: 0 8px;
  color: #1890ff; /* Ant Design Pro 链接色 */
  font-size: 14px;
}

.el-table .el-button--text:hover {
  color: #40a9ff; /* Ant Design Pro 链接悬停色 */
}

.el-table .el-button--text.is-disabled {
  color: rgba(0, 0, 0, 0.25);
}

.el-table .el-button--text:first-child {
  margin-left: 0;
}

/* 表格空状态样式 - Ant Design Pro 标准 */
.el-table__empty-block {
  padding: 48px 0 !important;
}

.el-table__empty-block .el-table__empty-text {
  color: rgba(0, 0, 0, 0.25);
  font-size: 14px;
}

/* 表格分页样式 - Ant Design Pro 标准 */
.el-pagination {
  margin-top: 16px !important;
  padding: 16px 0 !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 14px;
}

.el-pagination .el-pagination__total,
.el-pagination .el-pagination__jump {
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
}

.el-pagination .el-pager li {
  min-width: 32px;
  height: 32px;
  line-height: 30px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  margin: 0 4px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}

.el-pagination .el-pager li:hover {
  color: #40a9ff;
  border-color: #40a9ff;
}

.el-pagination .el-pager li.is-active {
  color: #ffffff;
  background-color: #1890ff;
  border-color: #1890ff;
  font-weight: 500;
}

.el-pagination .btn-prev,
.el-pagination .btn-next {
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  color: rgba(0, 0, 0, 0.85);
}

.el-pagination .btn-prev:hover,
.el-pagination .btn-next:hover {
  color: #40a9ff;
  border-color: #40a9ff;
}

.el-pagination .btn-prev:disabled,
.el-pagination .btn-next:disabled {
  color: rgba(0, 0, 0, 0.25);
  border-color: #d9d9d9;
  cursor: not-allowed;
}

/* ==================== Ant Design Pro 页面容器样式 ==================== */
/* 标准页面容器 */
.page-container {
  padding: 24px;
  background-color: #f0f2f5;
  min-height: calc(100vh - 64px); /* 减去头部高度 */
}

/* 内容卡片容器 - Ant Design Pro 标准 */
.content-card {
  background: #ffffff;
  border-radius: 2px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); /* Ant Design Pro 卡片阴影 */
}

/* 搜索表单容器 - Ant Design Pro 标准 */
.search-form-card {
  background: #ffffff;
  border-radius: 2px;
  padding: 24px 24px 0;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 表格容器 - Ant Design Pro 标准 */
.table-card {
  background: #ffffff;
  border-radius: 2px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* 页面标题样式 - Ant Design Pro 标准 */
.page-title {
  font-size: 20px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  line-height: 32px;
  margin-bottom: 16px;
}

/* 工具栏样式 - Ant Design Pro 标准 */
.toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.toolbar .toolbar-left {
  display: flex;
  gap: 8px;
}

.toolbar .toolbar-right {
  display: flex;
  gap: 8px;
}

/* ==================== Ant Design Pro 表单样式优化 ==================== */
.el-form .el-form-item {
  margin-bottom: 24px; /* Ant Design Pro 标准表单项间距 */
}

.el-form .el-form-item__label {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  font-weight: 400;
  line-height: 32px;
  height: 32px;
}

.el-form .el-form-item__error {
  font-size: 14px;
  line-height: 20px;
  padding-top: 4px;
}

/* 搜索表单特殊样式 */
.search-form .el-form-item {
  margin-bottom: 16px !important;
}

/* ==================== Ant Design Pro 按钮样式优化 ==================== */
.el-button {
  height: 32px;
  padding: 4px 15px;
  font-size: 14px;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.el-button--primary {
  background-color: #1890ff;
  border-color: #1890ff;
}

.el-button--primary:hover {
  background-color: #40a9ff;
  border-color: #40a9ff;
}

.el-button--primary:active {
  background-color: #096dd9;
  border-color: #096dd9;
}

.el-button--default:hover {
  color: #40a9ff;
  border-color: #40a9ff;
}

/* ==================== Ant Design Pro 卡片样式优化 ==================== */
.el-card {
  border: 1px solid #f0f0f0;
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.el-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.el-card .el-card__header {
  padding: 16px 24px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}

.el-card .el-card__body {
  padding: 24px;
}
